'Weak Dependency Graph [60.0]'
------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, length(mark(X)) -> mark(length(X))
, s(mark(X)) -> mark(s(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length(ok(X)) -> ok(length(X))
, s(ok(X)) -> ok(s(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, top(mark(X)) -> top(proper(X))
, top(ok(X)) -> top(active(X))}
Details:
We have computed the following set of weak (innermost) dependency pairs:
{ active^#(zeros()) -> c_0(cons^#(0(), zeros()))
, active^#(and(tt(), X)) -> c_1()
, active^#(length(nil())) -> c_2()
, active^#(length(cons(N, L))) -> c_3(s^#(length(L)))
, active^#(take(0(), IL)) -> c_4()
, active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, active^#(length(X)) -> c_8(length^#(active(X)))
, active^#(s(X)) -> c_9(s^#(active(X)))
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))
, length^#(mark(X)) -> c_14(length^#(X))
, s^#(mark(X)) -> c_15(s^#(X))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
, proper^#(zeros()) -> c_18()
, proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
, proper^#(0()) -> c_20()
, proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
, proper^#(tt()) -> c_22()
, proper^#(length(X)) -> c_23(length^#(proper(X)))
, proper^#(nil()) -> c_24()
, proper^#(s(X)) -> c_25(s^#(proper(X)))
, proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))
, s^#(ok(X)) -> c_30(s^#(X))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, top^#(mark(X)) -> c_32(top^#(proper(X)))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
The usable rules are:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
The estimated dependency graph contains the following edges:
{active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
==> {s^#(ok(X)) -> c_30(s^#(X))}
{active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
==> {s^#(mark(X)) -> c_15(s^#(X))}
{active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
{active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
{active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
{active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
{active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
==> {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
{active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
==> {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
{active^#(length(X)) -> c_8(length^#(active(X)))}
==> {length^#(ok(X)) -> c_29(length^#(X))}
{active^#(length(X)) -> c_8(length^#(active(X)))}
==> {length^#(mark(X)) -> c_14(length^#(X))}
{active^#(s(X)) -> c_9(s^#(active(X)))}
==> {s^#(ok(X)) -> c_30(s^#(X))}
{active^#(s(X)) -> c_9(s^#(active(X)))}
==> {s^#(mark(X)) -> c_15(s^#(X))}
{active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
{active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
{active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
{active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
{active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
{active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
{cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
{cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
{and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
==> {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
{and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
==> {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
{length^#(mark(X)) -> c_14(length^#(X))}
==> {length^#(ok(X)) -> c_29(length^#(X))}
{length^#(mark(X)) -> c_14(length^#(X))}
==> {length^#(mark(X)) -> c_14(length^#(X))}
{s^#(mark(X)) -> c_15(s^#(X))}
==> {s^#(ok(X)) -> c_30(s^#(X))}
{s^#(mark(X)) -> c_15(s^#(X))}
==> {s^#(mark(X)) -> c_15(s^#(X))}
{take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
{take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
{take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
{take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
{take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
{take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
{proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
{proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
{proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
==> {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
{proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
==> {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
{proper^#(length(X)) -> c_23(length^#(proper(X)))}
==> {length^#(ok(X)) -> c_29(length^#(X))}
{proper^#(length(X)) -> c_23(length^#(proper(X)))}
==> {length^#(mark(X)) -> c_14(length^#(X))}
{proper^#(s(X)) -> c_25(s^#(proper(X)))}
==> {s^#(ok(X)) -> c_30(s^#(X))}
{proper^#(s(X)) -> c_25(s^#(proper(X)))}
==> {s^#(mark(X)) -> c_15(s^#(X))}
{proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
{proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
{proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
{cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
==> {cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
{cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
==> {cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
{and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
==> {and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
{and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
==> {and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
{length^#(ok(X)) -> c_29(length^#(X))}
==> {length^#(ok(X)) -> c_29(length^#(X))}
{length^#(ok(X)) -> c_29(length^#(X))}
==> {length^#(mark(X)) -> c_14(length^#(X))}
{s^#(ok(X)) -> c_30(s^#(X))}
==> {s^#(ok(X)) -> c_30(s^#(X))}
{s^#(ok(X)) -> c_30(s^#(X))}
==> {s^#(mark(X)) -> c_15(s^#(X))}
{take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
==> {take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
{take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
==> {take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
{take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
==> {take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
{top^#(mark(X)) -> c_32(top^#(proper(X)))}
==> {top^#(ok(X)) -> c_33(top^#(active(X)))}
{top^#(mark(X)) -> c_32(top^#(proper(X)))}
==> {top^#(mark(X)) -> c_32(top^#(proper(X)))}
{top^#(ok(X)) -> c_33(top^#(active(X)))}
==> {top^#(ok(X)) -> c_33(top^#(active(X)))}
{top^#(ok(X)) -> c_33(top^#(active(X)))}
==> {top^#(mark(X)) -> c_32(top^#(proper(X)))}
We consider the following path(s):
1) { top^#(mark(X)) -> c_32(top^#(proper(X)))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, top^#(mark(X)) -> c_32(top^#(proper(X)))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [3]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [1] x1 + [0]
c_32(x1) = [1] x1 + [0]
c_33(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [3]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [1] x1 + [5]
c_32(x1) = [1] x1 + [1]
c_33(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [6]
take(x1, x2) = [1] x1 + [1] x2 + [4]
proper(x1) = [1] x1 + [14]
ok(x1) = [1] x1 + [10]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [1] x1 + [2]
c_32(x1) = [1] x1 + [2]
c_33(x1) = [1] x1 + [1]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(nil())) -> mark(0())}
and weakly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(nil())) -> mark(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [8]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [8]
proper(x1) = [1] x1 + [8]
ok(x1) = [1] x1 + [6]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [1] x1 + [7]
c_32(x1) = [1] x1 + [8]
c_33(x1) = [1] x1 + [1]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(and(tt(), X)) -> mark(X)}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(and(tt(), X)) -> mark(X)}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [2]
and(x1, x2) = [1] x1 + [1] x2 + [8]
tt() = [8]
length(x1) = [1] x1 + [0]
nil() = [2]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [1] x1 + [0]
c_32(x1) = [1] x1 + [0]
c_33(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(zeros()) -> mark(cons(0(), zeros()))}
and weakly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(zeros()) -> mark(cons(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [1]
nil() = [1]
s(x1) = [1] x1 + [1]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [8]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [1] x1 + [8]
c_32(x1) = [1] x1 + [9]
c_33(x1) = [1] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [12]
zeros() = [5]
mark(x1) = [1] x1 + [4]
cons(x1, x2) = [1] x1 + [1] x2 + [8]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [4]
tt() = [1]
length(x1) = [1] x1 + [12]
nil() = [5]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [14]
ok(x1) = [1] x1 + [12]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [1] x1 + [0]
c_32(x1) = [1] x1 + [1]
c_33(x1) = [1] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))
, top^#(mark(X)) -> c_32(top^#(proper(X)))}
Weak Rules:
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))
, top^#(mark(X)) -> c_32(top^#(proper(X)))}
Weak Rules:
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, top^#(ok(X)) -> c_33(top^#(active(X)))}
Details:
The problem is Match-bounded by 4.
The enriched problem is compatible with the following automaton:
{ active_0(2) -> 4
, active_1(2) -> 11
, active_1(8) -> 13
, active_1(9) -> 13
, active_2(8) -> 24
, active_2(9) -> 24
, active_2(20) -> 26
, active_3(20) -> 29
, active_3(21) -> 27
, active_3(36) -> 29
, active_4(35) -> 37
, active_4(36) -> 39
, zeros_0() -> 2
, zeros_1() -> 9
, zeros_2() -> 22
, zeros_3() -> 34
, mark_0(2) -> 2
, mark_1(7) -> 4
, mark_1(7) -> 11
, mark_1(7) -> 13
, mark_2(20) -> 13
, mark_2(20) -> 24
, cons_1(8, 9) -> 7
, cons_2(16, 17) -> 15
, cons_2(16, 17) -> 19
, cons_2(21, 22) -> 20
, cons_3(27, 22) -> 26
, cons_3(27, 22) -> 29
, cons_3(30, 31) -> 19
, cons_3(30, 31) -> 33
, cons_3(35, 34) -> 36
, cons_4(37, 34) -> 29
, cons_4(37, 34) -> 39
, 0_0() -> 2
, 0_1() -> 8
, 0_2() -> 21
, 0_3() -> 35
, tt_0() -> 2
, tt_1() -> 8
, tt_2() -> 21
, tt_3() -> 35
, nil_0() -> 2
, nil_1() -> 8
, nil_2() -> 21
, nil_3() -> 35
, proper_1(2) -> 6
, proper_1(7) -> 15
, proper_2(7) -> 19
, proper_2(8) -> 16
, proper_2(9) -> 17
, proper_2(20) -> 19
, proper_3(20) -> 33
, proper_3(21) -> 30
, proper_3(22) -> 31
, ok_0(2) -> 2
, ok_1(8) -> 6
, ok_1(9) -> 6
, ok_2(20) -> 15
, ok_2(20) -> 19
, ok_2(21) -> 16
, ok_2(22) -> 17
, ok_3(34) -> 31
, ok_3(35) -> 30
, ok_3(36) -> 19
, ok_3(36) -> 33
, top^#_0(2) -> 1
, top^#_0(4) -> 3
, top^#_1(6) -> 5
, top^#_1(11) -> 10
, top^#_1(13) -> 12
, top^#_1(15) -> 14
, top^#_2(19) -> 18
, top^#_2(24) -> 23
, top^#_2(26) -> 25
, top^#_3(29) -> 28
, top^#_3(33) -> 32
, top^#_4(39) -> 38
, c_32_1(5) -> 1
, c_32_1(14) -> 3
, c_32_2(18) -> 10
, c_32_2(18) -> 12
, c_32_3(32) -> 23
, c_33_0(3) -> 1
, c_33_1(10) -> 1
, c_33_1(12) -> 5
, c_33_2(23) -> 5
, c_33_2(25) -> 14
, c_33_3(28) -> 18
, c_33_4(38) -> 32}
2) { active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [9]
c_17(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
and weakly orienting the rules
{take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [5]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [1] x1 + [1]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [2]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [1]
take^#(x1, x2) = [1] x1 + [1] x2 + [11]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [0]
c_17(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
and weakly orienting the rules
{ take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [7]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [1] x1 + [1]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(0(), IL)) -> mark(nil())}
and weakly orienting the rules
{ active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(0(), IL)) -> mark(nil())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [7]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [1] x1 + [1]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [4]
take(x1, x2) = [1] x1 + [1] x2 + [4]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [13]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [2]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(nil())) -> mark(0())}
and weakly orienting the rules
{ active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(nil())) -> mark(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [2]
nil() = [0]
s(x1) = [1] x1 + [2]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [6]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [2]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [1] x1 + [1]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [0]
zeros() = [1]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [14]
0() = [3]
and(x1, x2) = [1] x1 + [1] x2 + [1]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [3]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [0]
c_17(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(zeros()) -> mark(cons(0(), zeros()))}
and weakly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(zeros()) -> mark(cons(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [8]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [13]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [1]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [0]
c_17(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 2
, 0_0() -> 2
, tt_0() -> 2
, nil_0() -> 2
, ok_0(2) -> 2
, active^#_0(2) -> 1
, take^#_0(2, 2) -> 1
, c_16_0(1) -> 1
, c_17_0(1) -> 1
, c_31_0(1) -> 1}
3) { active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [1] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [9]
c_17(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
and weakly orienting the rules
{take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [5]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [1] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [1] x1 + [1]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [2]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [11]
c_11(x1) = [1] x1 + [1]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [0]
c_17(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
and weakly orienting the rules
{ take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [1] x1 + [7]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [1] x1 + [1]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(0(), IL)) -> mark(nil())}
and weakly orienting the rules
{ active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(0(), IL)) -> mark(nil())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [7]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [1] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [1] x1 + [1]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [4]
take(x1, x2) = [1] x1 + [1] x2 + [4]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [13]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [2]
c_11(x1) = [1] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(nil())) -> mark(0())}
and weakly orienting the rules
{ active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(nil())) -> mark(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [2]
nil() = [0]
s(x1) = [1] x1 + [2]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [6]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [2]
c_11(x1) = [1] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [1] x1 + [1]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [0]
zeros() = [1]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [14]
0() = [3]
and(x1, x2) = [1] x1 + [1] x2 + [1]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [3]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_11(x1) = [1] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [0]
c_17(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(zeros()) -> mark(cons(0(), zeros()))}
and weakly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(zeros()) -> mark(cons(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [8]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [13]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [1] x1 + [1]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [0]
c_17(x1) = [1] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 2
, 0_0() -> 2
, tt_0() -> 2
, nil_0() -> 2
, ok_0(2) -> 2
, active^#_0(2) -> 1
, take^#_0(2, 2) -> 1
, c_16_0(1) -> 1
, c_17_0(1) -> 1
, c_31_0(1) -> 1}
4) { active^#(length(X)) -> c_8(length^#(active(X)))
, length^#(ok(X)) -> c_29(length^#(X))
, length^#(mark(X)) -> c_14(length^#(X))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(length(X)) -> c_8(length^#(active(X)))
, length^#(ok(X)) -> c_29(length^#(X))
, length^#(mark(X)) -> c_14(length^#(X))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [1]
length^#(x1) = [1] x1 + [1]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [8]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [4]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [1]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{length^#(mark(X)) -> c_14(length^#(X))}
and weakly orienting the rules
{ active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{length^#(mark(X)) -> c_14(length^#(X))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(length(X)) -> c_8(length^#(active(X)))}
and weakly orienting the rules
{ length^#(mark(X)) -> c_14(length^#(X))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(length(X)) -> c_8(length^#(active(X)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [11]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [13]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [6]
length^#(x1) = [1] x1 + [2]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [1]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [3]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(nil())) -> mark(0())}
and weakly orienting the rules
{ active^#(length(X)) -> c_8(length^#(active(X)))
, length^#(mark(X)) -> c_14(length^#(X))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(nil())) -> mark(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [4]
s(x1) = [1] x1 + [3]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [0]
length^#(x1) = [1] x1 + [2]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [1]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(0(), IL)) -> mark(nil())}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, active^#(length(X)) -> c_8(length^#(active(X)))
, length^#(mark(X)) -> c_14(length^#(X))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(0(), IL)) -> mark(nil())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [3]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [1]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(and(tt(), X)) -> mark(X)}
and weakly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, active(length(nil())) -> mark(0())
, active^#(length(X)) -> c_8(length^#(active(X)))
, length^#(mark(X)) -> c_14(length^#(X))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(and(tt(), X)) -> mark(X)}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [4]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [2]
0() = [13]
and(x1, x2) = [1] x1 + [1] x2 + [3]
tt() = [2]
length(x1) = [1] x1 + [0]
nil() = [15]
s(x1) = [1] x1 + [8]
take(x1, x2) = [1] x1 + [1] x2 + [4]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [2]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [1]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(take(0(), IL)) -> mark(nil())
, active(length(nil())) -> mark(0())
, active^#(length(X)) -> c_8(length^#(active(X)))
, length^#(mark(X)) -> c_14(length^#(X))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [14]
0() = [2]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [3]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [4]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(zeros()) -> mark(cons(0(), zeros()))}
and weakly orienting the rules
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(and(tt(), X)) -> mark(X)
, active(take(0(), IL)) -> mark(nil())
, active(length(nil())) -> mark(0())
, active^#(length(X)) -> c_8(length^#(active(X)))
, length^#(mark(X)) -> c_14(length^#(X))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(zeros()) -> mark(cons(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [7]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [1]
and(x1, x2) = [1] x1 + [1] x2 + [8]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [8]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [1]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [13]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [2]
length^#(x1) = [1] x1 + [1]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(and(tt(), X)) -> mark(X)
, active(take(0(), IL)) -> mark(nil())
, active(length(nil())) -> mark(0())
, active^#(length(X)) -> c_8(length^#(active(X)))
, length^#(mark(X)) -> c_14(length^#(X))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(and(tt(), X)) -> mark(X)
, active(take(0(), IL)) -> mark(nil())
, active(length(nil())) -> mark(0())
, active^#(length(X)) -> c_8(length^#(active(X)))
, length^#(mark(X)) -> c_14(length^#(X))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, length^#(ok(X)) -> c_29(length^#(X))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, active^#_0(2) -> 15
, active^#_0(3) -> 15
, active^#_0(5) -> 15
, active^#_0(7) -> 15
, active^#_0(9) -> 15
, active^#_0(13) -> 15
, length^#_0(2) -> 28
, length^#_0(3) -> 28
, length^#_0(5) -> 28
, length^#_0(7) -> 28
, length^#_0(9) -> 28
, length^#_0(13) -> 28
, c_14_0(28) -> 28
, c_29_0(28) -> 28}
5) { active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [1]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
and weakly orienting the rules
{cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [10]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [1]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [3]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [1]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(0(), IL)) -> mark(nil())}
and weakly orienting the rules
{ active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(0(), IL)) -> mark(nil())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [1]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(nil())) -> mark(0())}
and weakly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(nil())) -> mark(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [8]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [1]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [1]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [8]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [5]
zeros() = [2]
mark(x1) = [1] x1 + [4]
cons(x1, x2) = [1] x1 + [1] x2 + [2]
0() = [5]
and(x1, x2) = [1] x1 + [1] x2 + [5]
tt() = [12]
length(x1) = [1] x1 + [2]
nil() = [8]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [4]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [8]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [1]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(zeros()) -> mark(cons(0(), zeros()))}
and weakly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(zeros()) -> mark(cons(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [4]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [9]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [3]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [4]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [1]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 2
, 0_0() -> 2
, tt_0() -> 2
, nil_0() -> 2
, ok_0(2) -> 2
, active^#_0(2) -> 1
, cons^#_0(2, 2) -> 1
, c_12_0(1) -> 1
, c_27_0(1) -> 1}
6) { active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [1] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [1] x1 + [3]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
and weakly orienting the rules
{and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [10]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [1] x1 + [1]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [1] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [3]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [1] x1 + [1]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [1] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(0(), IL)) -> mark(nil())}
and weakly orienting the rules
{ active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(0(), IL)) -> mark(nil())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [1] x1 + [1]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [1] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(nil())) -> mark(0())}
and weakly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(nil())) -> mark(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [8]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [1] x1 + [1]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [1] x1 + [1]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [8]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [1] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [1] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [13]
zeros() = [10]
mark(x1) = [1] x1 + [4]
cons(x1, x2) = [1] x1 + [1] x2 + [2]
0() = [5]
and(x1, x2) = [1] x1 + [1] x2 + [5]
tt() = [0]
length(x1) = [1] x1 + [2]
nil() = [8]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [4]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [8]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [1] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [1] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 2
, 0_0() -> 2
, tt_0() -> 2
, nil_0() -> 2
, ok_0(2) -> 2
, active^#_0(2) -> 1
, and^#_0(2, 2) -> 1
, c_13_0(1) -> 1
, c_28_0(1) -> 1}
7) { active^#(s(X)) -> c_9(s^#(active(X)))
, s^#(ok(X)) -> c_30(s^#(X))
, s^#(mark(X)) -> c_15(s^#(X))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(s(X)) -> c_9(s^#(active(X)))
, s^#(ok(X)) -> c_30(s^#(X))
, s^#(mark(X)) -> c_15(s^#(X))}
Details:
We apply the weight gap principle, strictly orienting the rules
{s^#(mark(X)) -> c_15(s^#(X))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{s^#(mark(X)) -> c_15(s^#(X))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [10]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [3]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(s(X)) -> c_9(s^#(active(X)))}
and weakly orienting the rules
{s^#(mark(X)) -> c_15(s^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(s(X)) -> c_9(s^#(active(X)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [3]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [1]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [3]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_30(s^#(X))}
and weakly orienting the rules
{ active^#(s(X)) -> c_9(s^#(active(X)))
, s^#(mark(X)) -> c_15(s^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_30(s^#(X))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [1]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [1]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [3]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_30(s^#(X))
, active^#(s(X)) -> c_9(s^#(active(X)))
, s^#(mark(X)) -> c_15(s^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [4]
take(x1, x2) = [1] x1 + [1] x2 + [4]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [5]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [3]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [1]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(nil())) -> mark(0())}
and weakly orienting the rules
{ active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_30(s^#(X))
, active^#(s(X)) -> c_9(s^#(active(X)))
, s^#(mark(X)) -> c_15(s^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(nil())) -> mark(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [1]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [8]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [6]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [5]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [1]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_30(s^#(X))
, active^#(s(X)) -> c_9(s^#(active(X)))
, s^#(mark(X)) -> c_15(s^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [6]
0() = [4]
and(x1, x2) = [1] x1 + [1] x2 + [4]
tt() = [8]
length(x1) = [1] x1 + [0]
nil() = [4]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [10]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [1]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [1]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(zeros()) -> mark(cons(0(), zeros()))}
and weakly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_30(s^#(X))
, active^#(s(X)) -> c_9(s^#(active(X)))
, s^#(mark(X)) -> c_15(s^#(X))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(zeros()) -> mark(cons(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [2]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [6]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [6]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [11]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [1]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_30(s^#(X))
, active^#(s(X)) -> c_9(s^#(active(X)))
, s^#(mark(X)) -> c_15(s^#(X))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s^#(ok(X)) -> c_30(s^#(X))
, active^#(s(X)) -> c_9(s^#(active(X)))
, s^#(mark(X)) -> c_15(s^#(X))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, active^#_0(2) -> 15
, active^#_0(3) -> 15
, active^#_0(5) -> 15
, active^#_0(7) -> 15
, active^#_0(9) -> 15
, active^#_0(13) -> 15
, s^#_0(2) -> 21
, s^#_0(3) -> 21
, s^#_0(5) -> 21
, s^#_0(7) -> 21
, s^#_0(9) -> 21
, s^#_0(13) -> 21
, c_15_0(21) -> 21
, c_30_0(21) -> 21}
8) {active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [1] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(nil())) -> mark(0())}
and weakly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(nil())) -> mark(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [3]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [4]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_11(x1) = [1] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [8]
s(x1) = [1] x1 + [8]
take(x1, x2) = [1] x1 + [1] x2 + [8]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [13]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [3]
c_11(x1) = [1] x1 + [1]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{ active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [15]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [15]
c_11(x1) = [1] x1 + [1]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(and(tt(), X)) -> mark(X)}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(and(tt(), X)) -> mark(X)}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [2]
tt() = [2]
length(x1) = [1] x1 + [0]
nil() = [4]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [7]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [8]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [12]
c_11(x1) = [1] x1 + [2]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(zeros()) -> mark(cons(0(), zeros()))}
and weakly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(zeros()) -> mark(cons(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [12]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [7]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [1] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [8]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [8]
length(x1) = [1] x1 + [2]
nil() = [1]
s(x1) = [1] x1 + [1]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_11(x1) = [1] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_11(take^#(X1, active(X2)))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, active^#_0(2) -> 15
, active^#_0(3) -> 15
, active^#_0(5) -> 15
, active^#_0(7) -> 15
, active^#_0(9) -> 15
, active^#_0(13) -> 15
, take^#_0(2, 2) -> 31
, take^#_0(2, 3) -> 31
, take^#_0(2, 5) -> 31
, take^#_0(2, 7) -> 31
, take^#_0(2, 9) -> 31
, take^#_0(2, 13) -> 31
, take^#_0(3, 2) -> 31
, take^#_0(3, 3) -> 31
, take^#_0(3, 5) -> 31
, take^#_0(3, 7) -> 31
, take^#_0(3, 9) -> 31
, take^#_0(3, 13) -> 31
, take^#_0(5, 2) -> 31
, take^#_0(5, 3) -> 31
, take^#_0(5, 5) -> 31
, take^#_0(5, 7) -> 31
, take^#_0(5, 9) -> 31
, take^#_0(5, 13) -> 31
, take^#_0(7, 2) -> 31
, take^#_0(7, 3) -> 31
, take^#_0(7, 5) -> 31
, take^#_0(7, 7) -> 31
, take^#_0(7, 9) -> 31
, take^#_0(7, 13) -> 31
, take^#_0(9, 2) -> 31
, take^#_0(9, 3) -> 31
, take^#_0(9, 5) -> 31
, take^#_0(9, 7) -> 31
, take^#_0(9, 9) -> 31
, take^#_0(9, 13) -> 31
, take^#_0(13, 2) -> 31
, take^#_0(13, 3) -> 31
, take^#_0(13, 5) -> 31
, take^#_0(13, 7) -> 31
, take^#_0(13, 9) -> 31
, take^#_0(13, 13) -> 31}
9) {active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(nil())) -> mark(0())}
and weakly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(nil())) -> mark(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [3]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [4]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [8]
s(x1) = [1] x1 + [8]
take(x1, x2) = [1] x1 + [1] x2 + [8]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [13]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [1]
take^#(x1, x2) = [1] x1 + [1] x2 + [3]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{ active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [15]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [1]
take^#(x1, x2) = [1] x1 + [1] x2 + [15]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(and(tt(), X)) -> mark(X)}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(and(tt(), X)) -> mark(X)}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [2]
tt() = [2]
length(x1) = [1] x1 + [0]
nil() = [4]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [7]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [8]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [2]
take^#(x1, x2) = [1] x1 + [1] x2 + [12]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(zeros()) -> mark(cons(0(), zeros()))}
and weakly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(zeros()) -> mark(cons(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [12]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [7]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [8]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [8]
length(x1) = [1] x1 + [2]
nil() = [1]
s(x1) = [1] x1 + [1]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [1] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, active^#(take(X1, X2)) -> c_10(take^#(active(X1), X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, active^#_0(2) -> 15
, active^#_0(3) -> 15
, active^#_0(5) -> 15
, active^#_0(7) -> 15
, active^#_0(9) -> 15
, active^#_0(13) -> 15
, take^#_0(2, 2) -> 31
, take^#_0(2, 3) -> 31
, take^#_0(2, 5) -> 31
, take^#_0(2, 7) -> 31
, take^#_0(2, 9) -> 31
, take^#_0(2, 13) -> 31
, take^#_0(3, 2) -> 31
, take^#_0(3, 3) -> 31
, take^#_0(3, 5) -> 31
, take^#_0(3, 7) -> 31
, take^#_0(3, 9) -> 31
, take^#_0(3, 13) -> 31
, take^#_0(5, 2) -> 31
, take^#_0(5, 3) -> 31
, take^#_0(5, 5) -> 31
, take^#_0(5, 7) -> 31
, take^#_0(5, 9) -> 31
, take^#_0(5, 13) -> 31
, take^#_0(7, 2) -> 31
, take^#_0(7, 3) -> 31
, take^#_0(7, 5) -> 31
, take^#_0(7, 7) -> 31
, take^#_0(7, 9) -> 31
, take^#_0(7, 13) -> 31
, take^#_0(9, 2) -> 31
, take^#_0(9, 3) -> 31
, take^#_0(9, 5) -> 31
, take^#_0(9, 7) -> 31
, take^#_0(9, 9) -> 31
, take^#_0(9, 13) -> 31
, take^#_0(13, 2) -> 31
, take^#_0(13, 3) -> 31
, take^#_0(13, 5) -> 31
, take^#_0(13, 7) -> 31
, take^#_0(13, 9) -> 31
, take^#_0(13, 13) -> 31}
10)
{active^#(length(X)) -> c_8(length^#(active(X)))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(length(X)) -> c_8(length^#(active(X)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [7]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(nil())) -> mark(0())}
and weakly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(nil())) -> mark(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [4]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [7]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [15]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [3]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [4]
s(x1) = [1] x1 + [8]
take(x1, x2) = [1] x1 + [1] x2 + [8]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(length(X)) -> c_8(length^#(active(X)))}
and weakly orienting the rules
{ active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(length(X)) -> c_8(length^#(active(X)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(and(tt(), X)) -> mark(X)}
and weakly orienting the rules
{ active^#(length(X)) -> c_8(length^#(active(X)))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(and(tt(), X)) -> mark(X)}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [3]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [8]
length(x1) = [1] x1 + [0]
nil() = [4]
s(x1) = [1] x1 + [8]
take(x1, x2) = [1] x1 + [1] x2 + [6]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(zeros()) -> mark(cons(0(), zeros()))}
and weakly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active^#(length(X)) -> c_8(length^#(active(X)))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(zeros()) -> mark(cons(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [1]
length(x1) = [1] x1 + [2]
nil() = [1]
s(x1) = [1] x1 + [10]
take(x1, x2) = [1] x1 + [1] x2 + [1]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [2]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active^#(length(X)) -> c_8(length^#(active(X)))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [1]
and(x1, x2) = [1] x1 + [1] x2 + [1]
tt() = [8]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [13]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [1] x1 + [1]
length^#(x1) = [1] x1 + [8]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active^#(length(X)) -> c_8(length^#(active(X)))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active^#(length(X)) -> c_8(length^#(active(X)))
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, active^#_0(2) -> 15
, active^#_0(3) -> 15
, active^#_0(5) -> 15
, active^#_0(7) -> 15
, active^#_0(9) -> 15
, active^#_0(13) -> 15
, length^#_0(2) -> 28
, length^#_0(3) -> 28
, length^#_0(5) -> 28
, length^#_0(7) -> 28
, length^#_0(9) -> 28
, length^#_0(13) -> 28}
11)
{active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
and weakly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [9]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [6]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [5]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [6]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [8]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(nil())) -> mark(0())}
and weakly orienting the rules
{ active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(nil())) -> mark(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [8]
nil() = [0]
s(x1) = [1] x1 + [6]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [7]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(and(tt(), X)) -> mark(X)}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(and(tt(), X)) -> mark(X)}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [1]
tt() = [11]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [7]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(zeros()) -> mark(cons(0(), zeros()))}
and weakly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(zeros()) -> mark(cons(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [14]
nil() = [1]
s(x1) = [1] x1 + [2]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [5]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [1]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [5]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [1]
and(x1, x2) = [1] x1 + [1] x2 + [1]
tt() = [2]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [1] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active^#(cons(X1, X2)) -> c_6(cons^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, active^#_0(2) -> 15
, active^#_0(3) -> 15
, active^#_0(5) -> 15
, active^#_0(7) -> 15
, active^#_0(9) -> 15
, active^#_0(13) -> 15
, cons^#_0(2, 2) -> 17
, cons^#_0(2, 3) -> 17
, cons^#_0(2, 5) -> 17
, cons^#_0(2, 7) -> 17
, cons^#_0(2, 9) -> 17
, cons^#_0(2, 13) -> 17
, cons^#_0(3, 2) -> 17
, cons^#_0(3, 3) -> 17
, cons^#_0(3, 5) -> 17
, cons^#_0(3, 7) -> 17
, cons^#_0(3, 9) -> 17
, cons^#_0(3, 13) -> 17
, cons^#_0(5, 2) -> 17
, cons^#_0(5, 3) -> 17
, cons^#_0(5, 5) -> 17
, cons^#_0(5, 7) -> 17
, cons^#_0(5, 9) -> 17
, cons^#_0(5, 13) -> 17
, cons^#_0(7, 2) -> 17
, cons^#_0(7, 3) -> 17
, cons^#_0(7, 5) -> 17
, cons^#_0(7, 7) -> 17
, cons^#_0(7, 9) -> 17
, cons^#_0(7, 13) -> 17
, cons^#_0(9, 2) -> 17
, cons^#_0(9, 3) -> 17
, cons^#_0(9, 5) -> 17
, cons^#_0(9, 7) -> 17
, cons^#_0(9, 9) -> 17
, cons^#_0(9, 13) -> 17
, cons^#_0(13, 2) -> 17
, cons^#_0(13, 3) -> 17
, cons^#_0(13, 5) -> 17
, cons^#_0(13, 7) -> 17
, cons^#_0(13, 9) -> 17
, cons^#_0(13, 13) -> 17}
12)
{active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
and weakly orienting the rules
{ active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [9]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [6]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [5]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [6]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [8]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(nil())) -> mark(0())}
and weakly orienting the rules
{ active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(nil())) -> mark(0())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [8]
nil() = [0]
s(x1) = [1] x1 + [6]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [7]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(and(tt(), X)) -> mark(X)}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(and(tt(), X)) -> mark(X)}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [1]
tt() = [15]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [7]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [4]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(zeros()) -> mark(cons(0(), zeros()))}
and weakly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(zeros()) -> mark(cons(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [14]
nil() = [1]
s(x1) = [1] x1 + [2]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [5]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [1]
and^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [1]
tt() = [2]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [1] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active^#(and(X1, X2)) -> c_7(and^#(active(X1), X2))
, active(take(0(), IL)) -> mark(nil())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, active^#_0(2) -> 15
, active^#_0(3) -> 15
, active^#_0(5) -> 15
, active^#_0(7) -> 15
, active^#_0(9) -> 15
, active^#_0(13) -> 15
, and^#_0(2, 2) -> 26
, and^#_0(2, 3) -> 26
, and^#_0(2, 5) -> 26
, and^#_0(2, 7) -> 26
, and^#_0(2, 9) -> 26
, and^#_0(2, 13) -> 26
, and^#_0(3, 2) -> 26
, and^#_0(3, 3) -> 26
, and^#_0(3, 5) -> 26
, and^#_0(3, 7) -> 26
, and^#_0(3, 9) -> 26
, and^#_0(3, 13) -> 26
, and^#_0(5, 2) -> 26
, and^#_0(5, 3) -> 26
, and^#_0(5, 5) -> 26
, and^#_0(5, 7) -> 26
, and^#_0(5, 9) -> 26
, and^#_0(5, 13) -> 26
, and^#_0(7, 2) -> 26
, and^#_0(7, 3) -> 26
, and^#_0(7, 5) -> 26
, and^#_0(7, 7) -> 26
, and^#_0(7, 9) -> 26
, and^#_0(7, 13) -> 26
, and^#_0(9, 2) -> 26
, and^#_0(9, 3) -> 26
, and^#_0(9, 5) -> 26
, and^#_0(9, 7) -> 26
, and^#_0(9, 9) -> 26
, and^#_0(9, 13) -> 26
, and^#_0(13, 2) -> 26
, and^#_0(13, 3) -> 26
, and^#_0(13, 5) -> 26
, and^#_0(13, 7) -> 26
, and^#_0(13, 9) -> 26
, and^#_0(13, 13) -> 26}
13)
{active^#(s(X)) -> c_9(s^#(active(X)))}
The usable rules for this path are the following:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(and(tt(), X)) -> mark(X)
, active(length(nil())) -> mark(0())
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(take(0(), IL)) -> mark(nil())
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, active^#(s(X)) -> c_9(s^#(active(X)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{active(take(0(), IL)) -> mark(nil())}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(0(), IL)) -> mark(nil())}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active^#(s(X)) -> c_9(s^#(active(X)))}
and weakly orienting the rules
{active(take(0(), IL)) -> mark(nil())}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(s(X)) -> c_9(s^#(active(X)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ active(length(nil())) -> mark(0())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{ active^#(s(X)) -> c_9(s^#(active(X)))
, active(take(0(), IL)) -> mark(nil())}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ active(length(nil())) -> mark(0())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [3]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
and weakly orienting the rules
{ active(length(nil())) -> mark(0())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(s(X)) -> c_9(s^#(active(X)))
, active(take(0(), IL)) -> mark(nil())}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [8]
nil() = [0]
s(x1) = [1] x1 + [2]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(and(tt(), X)) -> mark(X)}
and weakly orienting the rules
{ active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(s(X)) -> c_9(s^#(active(X)))
, active(take(0(), IL)) -> mark(nil())}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(and(tt(), X)) -> mark(X)}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [3]
tt() = [5]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [7]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(length(cons(N, L))) -> mark(s(length(L)))}
and weakly orienting the rules
{ active(and(tt(), X)) -> mark(X)
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(s(X)) -> c_9(s^#(active(X)))
, active(take(0(), IL)) -> mark(nil())}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(length(cons(N, L))) -> mark(s(length(L)))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [10]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [8]
nil() = [4]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [8]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [7]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{active(zeros()) -> mark(cons(0(), zeros()))}
and weakly orienting the rules
{ active(length(cons(N, L))) -> mark(s(length(L)))
, active(and(tt(), X)) -> mark(X)
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(s(X)) -> c_9(s^#(active(X)))
, active(take(0(), IL)) -> mark(nil())}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active(zeros()) -> mark(cons(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [1] x1 + [1]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [4]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [9]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [2]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [1] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(and(tt(), X)) -> mark(X)
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(s(X)) -> c_9(s^#(active(X)))
, active(take(0(), IL)) -> mark(nil())}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ active(cons(X1, X2)) -> cons(active(X1), X2)
, active(and(X1, X2)) -> and(active(X1), X2)
, active(length(X)) -> length(active(X))
, active(s(X)) -> s(active(X))
, active(take(X1, X2)) -> take(active(X1), X2)
, active(take(X1, X2)) -> take(X1, active(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ active(zeros()) -> mark(cons(0(), zeros()))
, active(length(cons(N, L))) -> mark(s(length(L)))
, active(and(tt(), X)) -> mark(X)
, active(take(s(M), cons(N, IL))) -> mark(cons(N, take(M, IL)))
, active(length(nil())) -> mark(0())
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, active^#(s(X)) -> c_9(s^#(active(X)))
, active(take(0(), IL)) -> mark(nil())}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, active^#_0(2) -> 15
, active^#_0(3) -> 15
, active^#_0(5) -> 15
, active^#_0(7) -> 15
, active^#_0(9) -> 15
, active^#_0(13) -> 15
, s^#_0(2) -> 21
, s^#_0(3) -> 21
, s^#_0(5) -> 21
, s^#_0(7) -> 21
, s^#_0(9) -> 21
, s^#_0(13) -> 21}
14)
{ proper^#(s(X)) -> c_25(s^#(proper(X)))
, s^#(ok(X)) -> c_30(s^#(X))
, s^#(mark(X)) -> c_15(s^#(X))}
The usable rules for this path are the following:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(s(X)) -> c_25(s^#(proper(X)))
, s^#(ok(X)) -> c_30(s^#(X))
, s^#(mark(X)) -> c_15(s^#(X))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [2]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [1]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [1] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [1]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{s^#(ok(X)) -> c_30(s^#(X))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{s^#(ok(X)) -> c_30(s^#(X))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [8]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [1]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [1] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{s^#(mark(X)) -> c_15(s^#(X))}
and weakly orienting the rules
{ s^#(ok(X)) -> c_30(s^#(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{s^#(mark(X)) -> c_15(s^#(X))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [9]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [8]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [1] x1 + [1]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [1]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(s(X)) -> c_25(s^#(proper(X)))}
and weakly orienting the rules
{ s^#(mark(X)) -> c_15(s^#(X))
, s^#(ok(X)) -> c_30(s^#(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(s(X)) -> c_25(s^#(proper(X)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [4]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [1]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [1] x1 + [2]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [1]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
and weakly orienting the rules
{ proper^#(s(X)) -> c_25(s^#(proper(X)))
, s^#(mark(X)) -> c_15(s^#(X))
, s^#(ok(X)) -> c_30(s^#(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [1]
tt() = [0]
length(x1) = [1] x1 + [1]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [1] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(s(X)) -> c_25(s^#(proper(X)))
, s^#(mark(X)) -> c_15(s^#(X))
, s^#(ok(X)) -> c_30(s^#(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(s(X)) -> c_25(s^#(proper(X)))
, s^#(mark(X)) -> c_15(s^#(X))
, s^#(ok(X)) -> c_30(s^#(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, s^#_0(2) -> 21
, s^#_0(3) -> 21
, s^#_0(5) -> 21
, s^#_0(7) -> 21
, s^#_0(9) -> 21
, s^#_0(13) -> 21
, c_15_0(21) -> 21
, proper^#_0(2) -> 39
, proper^#_0(3) -> 39
, proper^#_0(5) -> 39
, proper^#_0(7) -> 39
, proper^#_0(9) -> 39
, proper^#_0(13) -> 39
, c_30_0(21) -> 21}
15)
{ proper^#(length(X)) -> c_23(length^#(proper(X)))
, length^#(ok(X)) -> c_29(length^#(X))
, length^#(mark(X)) -> c_14(length^#(X))}
The usable rules for this path are the following:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(length(X)) -> c_23(length^#(proper(X)))
, length^#(ok(X)) -> c_29(length^#(X))
, length^#(mark(X)) -> c_14(length^#(X))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [1]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [1] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [1]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{length^#(ok(X)) -> c_29(length^#(X))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{length^#(ok(X)) -> c_29(length^#(X))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [1]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [1]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [1] x1 + [4]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(length(X)) -> c_23(length^#(proper(X)))}
and weakly orienting the rules
{ length^#(ok(X)) -> c_29(length^#(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(length(X)) -> c_23(length^#(proper(X)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [1] x1 + [1]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [3]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [1] x1 + [1]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{length^#(mark(X)) -> c_14(length^#(X))}
and weakly orienting the rules
{ proper^#(length(X)) -> c_23(length^#(proper(X)))
, length^#(ok(X)) -> c_29(length^#(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{length^#(mark(X)) -> c_14(length^#(X))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [4]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [1] x1 + [7]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [1] x1 + [1]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
and weakly orienting the rules
{ length^#(mark(X)) -> c_14(length^#(X))
, proper^#(length(X)) -> c_23(length^#(proper(X)))
, length^#(ok(X)) -> c_29(length^#(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [2]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [1]
0() = [8]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [8]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [1] x1 + [1]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [1] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [4]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [1] x1 + [1]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [1] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, length^#(mark(X)) -> c_14(length^#(X))
, proper^#(length(X)) -> c_23(length^#(proper(X)))
, length^#(ok(X)) -> c_29(length^#(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, length^#(mark(X)) -> c_14(length^#(X))
, proper^#(length(X)) -> c_23(length^#(proper(X)))
, length^#(ok(X)) -> c_29(length^#(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, length^#_0(2) -> 28
, length^#_0(3) -> 28
, length^#_0(5) -> 28
, length^#_0(7) -> 28
, length^#_0(9) -> 28
, length^#_0(13) -> 28
, c_14_0(28) -> 28
, proper^#_0(2) -> 39
, proper^#_0(3) -> 39
, proper^#_0(5) -> 39
, proper^#_0(7) -> 39
, proper^#_0(9) -> 39
, proper^#_0(13) -> 39
, c_29_0(28) -> 28}
16)
{ proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
The usable rules for this path are the following:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [1] x1 + [1]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [1] x1 + [1]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [2]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [8]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [2]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [1]
c_17(x1) = [1] x1 + [1]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [1] x1 + [1]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [1]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
and weakly orienting the rules
{ proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [1]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [1] x1 + [0]
c_17(x1) = [1] x1 + [0]
proper^#(x1) = [1] x1 + [4]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [1] x1 + [1]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [1] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
, take^#(X1, mark(X2)) -> c_17(take^#(X1, X2))
, take^#(mark(X1), X2) -> c_16(take^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, take^#(ok(X1), ok(X2)) -> c_31(take^#(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 2
, 0_0() -> 2
, tt_0() -> 2
, nil_0() -> 2
, ok_0(2) -> 2
, take^#_0(2, 2) -> 1
, c_16_0(1) -> 1
, c_17_0(1) -> 1
, proper^#_0(2) -> 1
, c_31_0(1) -> 1}
17)
{ proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
The usable rules for this path are the following:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [4]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [2]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [1]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [1] x1 + [1]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [1]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [1]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_18() = [0]
c_19(x1) = [1] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
and weakly orienting the rules
{ proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [4]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [12]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [15]
c_18() = [0]
c_19(x1) = [1] x1 + [1]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [1]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
and weakly orienting the rules
{ cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))
, proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [4]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [2]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [0]
c_18() = [0]
c_19(x1) = [1] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))
, proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))
, proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 2
, 0_0() -> 2
, tt_0() -> 2
, nil_0() -> 2
, ok_0(2) -> 2
, cons^#_0(2, 2) -> 1
, c_12_0(1) -> 1
, proper^#_0(2) -> 1
, c_27_0(1) -> 1}
18)
{ proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
The usable rules for this path are the following:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [4]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [2]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [1] x1 + [1]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [1] x1 + [1]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [1] x1 + [1]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [1] x1 + [1]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [1] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [1] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
and weakly orienting the rules
{ proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{and^#(mark(X1), X2) -> c_13(and^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [4]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [12]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [1] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [15]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [1] x1 + [1]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [1] x1 + [1]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
and weakly orienting the rules
{ and^#(mark(X1), X2) -> c_13(and^#(X1, X2))
, proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [9]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [2]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [1] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [5]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [1] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [1] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))
, proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, and^#(mark(X1), X2) -> c_13(and^#(X1, X2))
, proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, and^#(ok(X1), ok(X2)) -> c_28(and^#(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 2
, 0_0() -> 2
, tt_0() -> 2
, nil_0() -> 2
, ok_0(2) -> 2
, and^#_0(2, 2) -> 1
, c_13_0(1) -> 1
, proper^#_0(2) -> 1
, c_28_0(1) -> 1}
19)
{proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
The usable rules for this path are the following:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [8]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [1] x1 + [1]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [6]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_18() = [0]
c_19(x1) = [1] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
and weakly orienting the rules
{ proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [8]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [2]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_18() = [0]
c_19(x1) = [1] x1 + [1]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(cons(X1, X2)) -> c_19(cons^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, cons^#_0(2, 2) -> 17
, cons^#_0(2, 3) -> 17
, cons^#_0(2, 5) -> 17
, cons^#_0(2, 7) -> 17
, cons^#_0(2, 9) -> 17
, cons^#_0(2, 13) -> 17
, cons^#_0(3, 2) -> 17
, cons^#_0(3, 3) -> 17
, cons^#_0(3, 5) -> 17
, cons^#_0(3, 7) -> 17
, cons^#_0(3, 9) -> 17
, cons^#_0(3, 13) -> 17
, cons^#_0(5, 2) -> 17
, cons^#_0(5, 3) -> 17
, cons^#_0(5, 5) -> 17
, cons^#_0(5, 7) -> 17
, cons^#_0(5, 9) -> 17
, cons^#_0(5, 13) -> 17
, cons^#_0(7, 2) -> 17
, cons^#_0(7, 3) -> 17
, cons^#_0(7, 5) -> 17
, cons^#_0(7, 7) -> 17
, cons^#_0(7, 9) -> 17
, cons^#_0(7, 13) -> 17
, cons^#_0(9, 2) -> 17
, cons^#_0(9, 3) -> 17
, cons^#_0(9, 5) -> 17
, cons^#_0(9, 7) -> 17
, cons^#_0(9, 9) -> 17
, cons^#_0(9, 13) -> 17
, cons^#_0(13, 2) -> 17
, cons^#_0(13, 3) -> 17
, cons^#_0(13, 5) -> 17
, cons^#_0(13, 7) -> 17
, cons^#_0(13, 9) -> 17
, cons^#_0(13, 13) -> 17
, proper^#_0(2) -> 39
, proper^#_0(3) -> 39
, proper^#_0(5) -> 39
, proper^#_0(7) -> 39
, proper^#_0(9) -> 39
, proper^#_0(13) -> 39}
20)
{proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
The usable rules for this path are the following:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [8]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [1] x1 + [1]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [6]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [1] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
and weakly orienting the rules
{ proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [7]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [8]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [5]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [1] x1 + [1]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(take(X1, X2)) -> c_26(take^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, take^#_0(2, 2) -> 31
, take^#_0(2, 3) -> 31
, take^#_0(2, 5) -> 31
, take^#_0(2, 7) -> 31
, take^#_0(2, 9) -> 31
, take^#_0(2, 13) -> 31
, take^#_0(3, 2) -> 31
, take^#_0(3, 3) -> 31
, take^#_0(3, 5) -> 31
, take^#_0(3, 7) -> 31
, take^#_0(3, 9) -> 31
, take^#_0(3, 13) -> 31
, take^#_0(5, 2) -> 31
, take^#_0(5, 3) -> 31
, take^#_0(5, 5) -> 31
, take^#_0(5, 7) -> 31
, take^#_0(5, 9) -> 31
, take^#_0(5, 13) -> 31
, take^#_0(7, 2) -> 31
, take^#_0(7, 3) -> 31
, take^#_0(7, 5) -> 31
, take^#_0(7, 7) -> 31
, take^#_0(7, 9) -> 31
, take^#_0(7, 13) -> 31
, take^#_0(9, 2) -> 31
, take^#_0(9, 3) -> 31
, take^#_0(9, 5) -> 31
, take^#_0(9, 7) -> 31
, take^#_0(9, 9) -> 31
, take^#_0(9, 13) -> 31
, take^#_0(13, 2) -> 31
, take^#_0(13, 3) -> 31
, take^#_0(13, 5) -> 31
, take^#_0(13, 7) -> 31
, take^#_0(13, 9) -> 31
, take^#_0(13, 13) -> 31
, proper^#_0(2) -> 39
, proper^#_0(3) -> 39
, proper^#_0(5) -> 39
, proper^#_0(7) -> 39
, proper^#_0(9) -> 39
, proper^#_0(13) -> 39}
21)
{proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
The usable rules for this path are the following:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [8]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [1] x1 + [1]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [6]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [1] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
and weakly orienting the rules
{ proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [3]
and(x1, x2) = [1] x1 + [1] x2 + [2]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [8]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [1] x1 + [1] x2 + [3]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [8]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [1] x1 + [3]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(and(X1, X2)) -> c_21(and^#(proper(X1), proper(X2)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, and^#_0(2, 2) -> 26
, and^#_0(2, 3) -> 26
, and^#_0(2, 5) -> 26
, and^#_0(2, 7) -> 26
, and^#_0(2, 9) -> 26
, and^#_0(2, 13) -> 26
, and^#_0(3, 2) -> 26
, and^#_0(3, 3) -> 26
, and^#_0(3, 5) -> 26
, and^#_0(3, 7) -> 26
, and^#_0(3, 9) -> 26
, and^#_0(3, 13) -> 26
, and^#_0(5, 2) -> 26
, and^#_0(5, 3) -> 26
, and^#_0(5, 5) -> 26
, and^#_0(5, 7) -> 26
, and^#_0(5, 9) -> 26
, and^#_0(5, 13) -> 26
, and^#_0(7, 2) -> 26
, and^#_0(7, 3) -> 26
, and^#_0(7, 5) -> 26
, and^#_0(7, 7) -> 26
, and^#_0(7, 9) -> 26
, and^#_0(7, 13) -> 26
, and^#_0(9, 2) -> 26
, and^#_0(9, 3) -> 26
, and^#_0(9, 5) -> 26
, and^#_0(9, 7) -> 26
, and^#_0(9, 9) -> 26
, and^#_0(9, 13) -> 26
, and^#_0(13, 2) -> 26
, and^#_0(13, 3) -> 26
, and^#_0(13, 5) -> 26
, and^#_0(13, 7) -> 26
, and^#_0(13, 9) -> 26
, and^#_0(13, 13) -> 26
, proper^#_0(2) -> 39
, proper^#_0(3) -> 39
, proper^#_0(5) -> 39
, proper^#_0(7) -> 39
, proper^#_0(9) -> 39
, proper^#_0(13) -> 39}
22)
{proper^#(length(X)) -> c_23(length^#(proper(X)))}
The usable rules for this path are the following:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(length(X)) -> c_23(length^#(proper(X)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [1] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [1] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(length(X)) -> c_23(length^#(proper(X)))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(length(X)) -> c_23(length^#(proper(X)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [4]
take(x1, x2) = [1] x1 + [1] x2 + [14]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [1] x1 + [1]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [1] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
and weakly orienting the rules
{ proper^#(length(X)) -> c_23(length^#(proper(X)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [4]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [1] x1 + [3]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [4]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [1] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(length(X)) -> c_23(length^#(proper(X)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(length(X)) -> c_23(length^#(proper(X)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 3
, mark_0(3) -> 3
, mark_0(5) -> 3
, mark_0(7) -> 3
, mark_0(9) -> 3
, mark_0(13) -> 3
, 0_0() -> 5
, tt_0() -> 7
, nil_0() -> 9
, ok_0(2) -> 13
, ok_0(3) -> 13
, ok_0(5) -> 13
, ok_0(7) -> 13
, ok_0(9) -> 13
, ok_0(13) -> 13
, length^#_0(2) -> 28
, length^#_0(3) -> 28
, length^#_0(5) -> 28
, length^#_0(7) -> 28
, length^#_0(9) -> 28
, length^#_0(13) -> 28
, proper^#_0(2) -> 39
, proper^#_0(3) -> 39
, proper^#_0(5) -> 39
, proper^#_0(7) -> 39
, proper^#_0(9) -> 39
, proper^#_0(13) -> 39}
23)
{proper^#(s(X)) -> c_25(s^#(proper(X)))}
The usable rules for this path are the following:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ proper(zeros()) -> ok(zeros())
, proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(0()) -> ok(0())
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(tt()) -> ok(tt())
, proper(length(X)) -> length(proper(X))
, proper(nil()) -> ok(nil())
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))
, s(ok(X)) -> ok(s(X))
, proper^#(s(X)) -> c_25(s^#(proper(X)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [1] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{proper^#(s(X)) -> c_25(s^#(proper(X)))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(s(X)) -> c_25(s^#(proper(X)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [1]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [2]
nil() = [0]
s(x1) = [1] x1 + [8]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [1]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [1] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
and weakly orienting the rules
{ proper^#(s(X)) -> c_25(s^#(proper(X)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [2]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [8]
proper(x1) = [1] x1 + [1]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [1] x1 + [4]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [9]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [1] x1 + [4]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(s(X)) -> c_25(s^#(proper(X)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ proper(cons(X1, X2)) -> cons(proper(X1), proper(X2))
, proper(and(X1, X2)) -> and(proper(X1), proper(X2))
, proper(length(X)) -> length(proper(X))
, proper(s(X)) -> s(proper(X))
, proper(take(X1, X2)) -> take(proper(X1), proper(X2))
, length(mark(X)) -> mark(length(X))
, take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, length(ok(X)) -> ok(length(X))
, cons(mark(X1), X2) -> mark(cons(X1, X2))
, and(mark(X1), X2) -> mark(and(X1, X2))
, s(mark(X)) -> mark(s(X))
, s(ok(X)) -> ok(s(X))}
Weak Rules:
{ proper(zeros()) -> ok(zeros())
, proper(0()) -> ok(0())
, proper(tt()) -> ok(tt())
, proper(nil()) -> ok(nil())
, proper^#(s(X)) -> c_25(s^#(proper(X)))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons(ok(X1), ok(X2)) -> ok(cons(X1, X2))
, and(ok(X1), ok(X2)) -> ok(and(X1, X2))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ zeros_0() -> 2
, mark_0(2) -> 2
, 0_0() -> 2
, tt_0() -> 2
, nil_0() -> 2
, ok_0(2) -> 2
, s^#_0(2) -> 1
, proper^#_0(2) -> 1}
24)
{ active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
The usable rules for this path are the following:
{ take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [8]
take(x1, x2) = [1] x1 + [1] x2 + [1]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [1] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [1]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [1]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
and weakly orienting the rules
{active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [12]
take(x1, x2) = [1] x1 + [1] x2 + [1]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [1] x1 + [3]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [2]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [1]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
and weakly orienting the rules
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [8]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [1]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [12]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [10]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [1] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [1] x1 + [1]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [1] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))}
Weak Rules:
{ cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))}
Weak Rules:
{ cons^#(mark(X1), X2) -> c_12(cons^#(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, cons^#(ok(X1), ok(X2)) -> c_27(cons^#(X1, X2))
, active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ mark_0(3) -> 3
, mark_0(13) -> 3
, ok_0(3) -> 13
, ok_0(13) -> 13
, active^#_0(3) -> 15
, active^#_0(13) -> 15
, cons^#_0(3, 3) -> 17
, cons^#_0(3, 13) -> 17
, cons^#_0(13, 3) -> 17
, cons^#_0(13, 13) -> 17
, c_12_0(17) -> 17
, c_27_0(17) -> 17}
25)
{ active^#(length(cons(N, L))) -> c_3(s^#(length(L)))
, s^#(ok(X)) -> c_30(s^#(X))
, s^#(mark(X)) -> c_15(s^#(X))}
The usable rules for this path are the following:
{ length(mark(X)) -> mark(length(X))
, length(ok(X)) -> ok(length(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ length(mark(X)) -> mark(length(X))
, length(ok(X)) -> ok(length(X))
, active^#(length(cons(N, L))) -> c_3(s^#(length(L)))
, s^#(ok(X)) -> c_30(s^#(X))
, s^#(mark(X)) -> c_15(s^#(X))}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [1]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [8]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [1] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [2]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{s^#(ok(X)) -> c_30(s^#(X))}
and weakly orienting the rules
{active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{s^#(ok(X)) -> c_30(s^#(X))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [5]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [1]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [8]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [12]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [1] x1 + [0]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{s^#(mark(X)) -> c_15(s^#(X))}
and weakly orienting the rules
{ s^#(ok(X)) -> c_30(s^#(X))
, active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{s^#(mark(X)) -> c_15(s^#(X))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [8]
cons(x1, x2) = [1] x1 + [1] x2 + [15]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [1]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [1] x1 + [0]
s^#(x1) = [1] x1 + [4]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [1] x1 + [4]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [1] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ length(mark(X)) -> mark(length(X))
, length(ok(X)) -> ok(length(X))}
Weak Rules:
{ s^#(mark(X)) -> c_15(s^#(X))
, s^#(ok(X)) -> c_30(s^#(X))
, active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ length(mark(X)) -> mark(length(X))
, length(ok(X)) -> ok(length(X))}
Weak Rules:
{ s^#(mark(X)) -> c_15(s^#(X))
, s^#(ok(X)) -> c_30(s^#(X))
, active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ mark_0(3) -> 3
, mark_0(13) -> 3
, ok_0(3) -> 13
, ok_0(13) -> 13
, active^#_0(3) -> 15
, active^#_0(13) -> 15
, s^#_0(3) -> 21
, s^#_0(13) -> 21
, c_15_0(21) -> 21
, c_30_0(21) -> 21}
26)
{active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
The usable rules for this path are the following:
{ take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))
, take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [8]
take(x1, x2) = [1] x1 + [1] x2 + [1]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [7]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [1] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
We apply the weight gap principle, strictly orienting the rules
{take(ok(X1), ok(X2)) -> ok(take(X1, X2))}
and weakly orienting the rules
{active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{take(ok(X1), ok(X2)) -> ok(take(X1, X2))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [8]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [1] x1 + [9]
take(x1, x2) = [1] x1 + [1] x2 + [1]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [4]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [3]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [1]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [1] x1 + [7]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))}
Weak Rules:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ take(mark(X1), X2) -> mark(take(X1, X2))
, take(X1, mark(X2)) -> mark(take(X1, X2))}
Weak Rules:
{ take(ok(X1), ok(X2)) -> ok(take(X1, X2))
, active^#(take(s(M), cons(N, IL))) -> c_5(cons^#(N, take(M, IL)))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ mark_0(3) -> 3
, mark_0(13) -> 3
, ok_0(3) -> 13
, ok_0(13) -> 13
, active^#_0(3) -> 15
, active^#_0(13) -> 15
, cons^#_0(3, 3) -> 17
, cons^#_0(3, 13) -> 17
, cons^#_0(13, 3) -> 17
, cons^#_0(13, 13) -> 17}
27)
{active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
The usable rules for this path are the following:
{ length(mark(X)) -> mark(length(X))
, length(ok(X)) -> ok(length(X))}
We have applied the subprocessor on the union of usable rules and weak (innermost) dependency pairs.
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost runtime-complexity with respect to
Rules:
{ length(mark(X)) -> mark(length(X))
, length(ok(X)) -> ok(length(X))
, active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [1] x1 + [0]
cons(x1, x2) = [1] x1 + [1] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [1]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [1] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [8]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [1] x1 + [1]
s^#(x1) = [1] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'fastest of 'combine', 'Bounds with default enrichment', 'Bounds with default enrichment''
------------------------------------------------------------------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ length(mark(X)) -> mark(length(X))
, length(ok(X)) -> ok(length(X))}
Weak Rules: {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
Details:
The problem was solved by processor 'Bounds with default enrichment':
'Bounds with default enrichment'
--------------------------------
Answer: YES(?,O(n^1))
Input Problem: innermost relative runtime-complexity with respect to
Strict Rules:
{ length(mark(X)) -> mark(length(X))
, length(ok(X)) -> ok(length(X))}
Weak Rules: {active^#(length(cons(N, L))) -> c_3(s^#(length(L)))}
Details:
The problem is Match-bounded by 0.
The enriched problem is compatible with the following automaton:
{ mark_0(3) -> 3
, mark_0(13) -> 3
, ok_0(3) -> 13
, ok_0(13) -> 13
, active^#_0(3) -> 15
, active^#_0(13) -> 15
, s^#_0(3) -> 21
, s^#_0(13) -> 21}
28)
{active^#(zeros()) -> c_0(cons^#(0(), zeros()))}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {active^#(zeros()) -> c_0(cons^#(0(), zeros()))}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(zeros()) -> c_0(cons^#(0(), zeros()))}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(zeros()) -> c_0(cons^#(0(), zeros()))}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [1] x1 + [0]
cons^#(x1, x2) = [1] x1 + [1] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {active^#(zeros()) -> c_0(cons^#(0(), zeros()))}
Details:
The given problem does not contain any strict rules
29)
{active^#(length(nil())) -> c_2()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {active^#(length(nil())) -> c_2()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(length(nil())) -> c_2()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(length(nil())) -> c_2()}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [1] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {active^#(length(nil())) -> c_2()}
Details:
The given problem does not contain any strict rules
30)
{active^#(and(tt(), X)) -> c_1()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {active^#(and(tt(), X)) -> c_1()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(and(tt(), X)) -> c_1()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(and(tt(), X)) -> c_1()}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [1] x1 + [1] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {active^#(and(tt(), X)) -> c_1()}
Details:
The given problem does not contain any strict rules
31)
{active^#(take(0(), IL)) -> c_4()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {active^#(take(0(), IL)) -> c_4()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{active^#(take(0(), IL)) -> c_4()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{active^#(take(0(), IL)) -> c_4()}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [1] x1 + [1] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [1] x1 + [1]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {active^#(take(0(), IL)) -> c_4()}
Details:
The given problem does not contain any strict rules
32)
{proper^#(zeros()) -> c_18()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {proper^#(zeros()) -> c_18()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{proper^#(zeros()) -> c_18()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(zeros()) -> c_18()}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {proper^#(zeros()) -> c_18()}
Details:
The given problem does not contain any strict rules
33)
{proper^#(0()) -> c_20()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {proper^#(0()) -> c_20()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{proper^#(0()) -> c_20()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(0()) -> c_20()}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {proper^#(0()) -> c_20()}
Details:
The given problem does not contain any strict rules
34)
{proper^#(tt()) -> c_22()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {proper^#(tt()) -> c_22()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{proper^#(tt()) -> c_22()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(tt()) -> c_22()}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {proper^#(tt()) -> c_22()}
Details:
The given problem does not contain any strict rules
35)
{proper^#(nil()) -> c_24()}
The usable rules for this path are empty.
We have oriented the usable rules with the following strongly linear interpretation:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [0] x1 + [0]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
We have applied the subprocessor on the resulting DP-problem:
'Weight Gap Principle'
----------------------
Answer: YES(?,O(n^1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {proper^#(nil()) -> c_24()}
Weak Rules: {}
Details:
We apply the weight gap principle, strictly orienting the rules
{proper^#(nil()) -> c_24()}
and weakly orienting the rules
{}
using the following strongly linear interpretation:
Processor 'Matrix Interpretation' oriented the following rules strictly:
{proper^#(nil()) -> c_24()}
Details:
Interpretation Functions:
active(x1) = [0] x1 + [0]
zeros() = [0]
mark(x1) = [0] x1 + [0]
cons(x1, x2) = [0] x1 + [0] x2 + [0]
0() = [0]
and(x1, x2) = [0] x1 + [0] x2 + [0]
tt() = [0]
length(x1) = [0] x1 + [0]
nil() = [0]
s(x1) = [0] x1 + [0]
take(x1, x2) = [0] x1 + [0] x2 + [0]
proper(x1) = [0] x1 + [0]
ok(x1) = [0] x1 + [0]
top(x1) = [0] x1 + [0]
active^#(x1) = [0] x1 + [0]
c_0(x1) = [0] x1 + [0]
cons^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_1() = [0]
c_2() = [0]
c_3(x1) = [0] x1 + [0]
s^#(x1) = [0] x1 + [0]
c_4() = [0]
c_5(x1) = [0] x1 + [0]
c_6(x1) = [0] x1 + [0]
c_7(x1) = [0] x1 + [0]
and^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_8(x1) = [0] x1 + [0]
length^#(x1) = [0] x1 + [0]
c_9(x1) = [0] x1 + [0]
c_10(x1) = [0] x1 + [0]
take^#(x1, x2) = [0] x1 + [0] x2 + [0]
c_11(x1) = [0] x1 + [0]
c_12(x1) = [0] x1 + [0]
c_13(x1) = [0] x1 + [0]
c_14(x1) = [0] x1 + [0]
c_15(x1) = [0] x1 + [0]
c_16(x1) = [0] x1 + [0]
c_17(x1) = [0] x1 + [0]
proper^#(x1) = [1] x1 + [1]
c_18() = [0]
c_19(x1) = [0] x1 + [0]
c_20() = [0]
c_21(x1) = [0] x1 + [0]
c_22() = [0]
c_23(x1) = [0] x1 + [0]
c_24() = [0]
c_25(x1) = [0] x1 + [0]
c_26(x1) = [0] x1 + [0]
c_27(x1) = [0] x1 + [0]
c_28(x1) = [0] x1 + [0]
c_29(x1) = [0] x1 + [0]
c_30(x1) = [0] x1 + [0]
c_31(x1) = [0] x1 + [0]
top^#(x1) = [0] x1 + [0]
c_32(x1) = [0] x1 + [0]
c_33(x1) = [0] x1 + [0]
Finally we apply the subprocessor
'Empty TRS'
-----------
Answer: YES(?,O(1))
Input Problem: innermost DP runtime-complexity with respect to
Strict Rules: {}
Weak Rules: {proper^#(nil()) -> c_24()}
Details:
The given problem does not contain any strict rules